Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

122
Visualizações
Obtener valores de "datos" de celdas de tabla seleccionadas

tengo la siguiente tabla:

 <table border="1" cellpadding="5" class="test"> <tr> <td id="1" data-value="50">aaa</td> <td id="2" data-value="60">bbb</td> <td id="3" data-value="70">cc</td> </tr> <tr> <td id="4" data-value="80">ddd</td> <td id="5" data-value="90">eee</td> <td id="6" data-value="100">fff</td> </tr> <tr> <td id="7" data-value="110">ggg</td> <td id="8" data-value="120">hhh</td> <td id="9" data-value="130">iii</td> </tr> </table>

Mi secuencia de comandos permite que pueda seleccionar solo una celda de la tabla por fila y columna. Las celdas de la tabla seleccionadas obtienen una clase "seleccionada" al hacer clic.

Ahora necesito el "valor de datos" de las celdas de la tabla seleccionadas que deben almacenarse dentro de una matriz. Por lo tanto, probé el método del map , pero solo obtengo una matriz vacía como resultado.

Este es el script y el JS Fiddle :

 $(document).on("click", ".test td", function() { let index = $(this).index()+1; $(this) .closest('table') .find('tr>td:nth-child('+index+')') .removeClass('selected'); var col1 = $(this).addClass('selected').text(); var arr = $('.selected').map(function () { return this.value }).get(); console.log(arr); });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Está recuperando la propiedad de value del elemento seleccionado en lugar de su data-value .

Para obtener su data-value , puede usar jQuery.data .

 $(document).on("click", ".test td", function() { let index = $(this).index() + 1; $(this) .closest('table') .find('tr>td:nth-child(' + index + ')') .removeClass('selected'); var col1 = $(this).addClass('selected').text(); var arr = $('.selected').map(function() { return $(this).data('value') }).get(); console.log(arr); });
 .selected { background: #333; color: #fff; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table border="1" cellpadding="5" class="test"> <tr> <td id="1" data-value="50">aaa</td> <td id="2" data-value="60">bbb</td> <td id="3" data-value="70">cc</td> </tr> <tr> <td id="4" data-value="80">ddd</td> <td id="5" data-value="90">eee</td> <td id="6" data-value="100">fff</td> </tr> <tr> <td id="7" data-value="110">ggg</td> <td id="8" data-value="120">hhh</td> <td id="9" data-value="130">iii</td> </tr> </table>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda